﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Filmy.Model;
using Filmy.Model.dsFilmowyTableAdapters;

namespace Filmy.Kontroler.BazaDanych
{
    public class Gatunki
    {
        public Gatunki()
        {
            dtGatunki = new dsFilmowy.GatunkiDataTable();
            adapter = new Filmy.Model.dsFilmowyTableAdapters.GatunkiTableAdapter();
        }
        
        dsFilmowy.GatunkiDataTable dtGatunki;
        Filmy.Model.dsFilmowyTableAdapters.GatunkiTableAdapter adapter;
        FilmyTytulyGatunki filmytytulyGatunki;
        int idOstatniegoGat;

        public void addNewOrId(string gatunki)
        {
            if (gatunki.Length > 0)
            {
                string[] tabGat = gatunki.Split(new char[] { ',' });
                filmytytulyGatunki = new FilmyTytulyGatunki();
                foreach (string gatunek in tabGat)
                {
                    dsFilmowy.GatunkiRow gatunkiWiersz = dtGatunki.NewGatunkiRow();
                    gatunkiWiersz.Gatunek = gatunek.Trim();
                    int czyIstnieje = 0;
                    czyIstnieje = Convert.ToInt16(adapter.SprawdzCzyIstnieje(gatunkiWiersz.Gatunek));
                    if (czyIstnieje == 0)
                    {
                        dtGatunki.AddGatunkiRow(gatunkiWiersz);
                        adapter.Update(dtGatunki);
                        idOstatniegoGat = dtGatunki.Last().idGatunku;
                    }
                    else
                        idOstatniegoGat = Convert.ToInt16(czyIstnieje);

                    filmytytulyGatunki.addNewOrId(FilmyTytuly.idOstatniego, idOstatniegoGat);
                }
            }
        }

        public void deleteRow(int id)
        {
            adapter.UsunRekord(id);
        }

        public string dajPoIdFilmu(int id)
        {
            dtGatunki = adapter.GetDataBy(id);
            string gat = "";
            foreach (dsFilmowy.GatunkiRow row in dtGatunki)
            {
                gat += row[1].ToString() + ", ";
            }
            if (gat.Length >= 2)
                gat = gat.Remove(gat.Length - 2);
            
            return gat;
        }

        public DataTable dajTabele()
        {
            adapter.Fill(dtGatunki);
            return dtGatunki;
        }
    }
}
